// object  表示一个js对象
var a;
a = {};
a = function () {
};
// {} 用来指定对象中可以包含哪些属性
// 语法：{属性名:属性值}
// let b:{name:string}
// b={name:"kevin",age:123} // 报错
// 要按照定义的类型
// let b:{name:string,age:number}
// b={name:'kevin',age:23}
// 属性可选
// let b:{name:string,age?:number}
// b={name:'kevin'}
// 如果属性不确定,[]里面内容任意定义，propName代表的是属性名是字符串,any标示属性值是任意类型
var c;
c = { name: 'kevin', age: 12, height: 165 };
// 设置函数结构类型说明
// 语法：(形参:类型,形参:类型)=>返回值类型
var d;
d = function (a, b) {
    return a + b;
};
d(1, 2);
// 数组array
var e; // 表示数字数组，里面存的都是数字
e = [1, 2, 3];
var g; // 表示数字数组，里面存的都是数字
g = [1, 2, 3];
// 元祖 固定长度的数组
// 语法：[类型,类型,类型]
var h;
// h=['hello',123,555]; // 报错
h = ['hello', 123];
// 枚举
// let i:{name:string,gender:string};
// i={
//     name:'kevin',
//     gender:'male'
// }
// console.log(i.gender==='male');
var Gender;
(function (Gender) {
    Gender[Gender["Male"] = 0] = "Male";
    Gender[Gender["Female"] = 1] = "Female";
})(Gender || (Gender = {}));
var i;
i = {
    name: 'kevin',
    gender: Gender.Male, // 枚举的值只能是male或者female
};
console.log(i.gender === Gender.Male);
